package sgc;

import java.util.Arrays;
import java.util.Calendar;

/**
 * @author Diego Pereira do Nascimento e Leonardo Santos Martins
 * 
 * Descrição da classe::
 * Está classe tem como propósito ser utilizada para cadastrar todos os concursos necessários para o programa
 *  
 */
public class Concurso {
    
    private String titulo;
    private Calendar data;
    private Questao questoes[];

    public Concurso(String t, Calendar d, Questao q[]){
        this.titulo = t;
        this.data = d;
        this.questoes = q;
    }
    
    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public Calendar getData() {
        return data;
    }

    public void setData(Calendar data) {
        this.data = data;
    }

    public Questao[] getQuestoes() {
        return questoes;
    }

    public void setQuestoes(Questao[] questoes) {
        this.questoes = questoes;
    }
    
    @Override
    public String toString(){
        return "Nome do Concurso: " + this.titulo + "\nData: " + this.data + "\nQuestões: " + Arrays.toString(questoes);
    }
    
    public static Concurso criar(Questao vet[]){
        int ano, mes, dia;
        String titulo;
        Calendar data = Calendar.getInstance();
        Leitura ler = new Leitura();
        
        System.out.println("Digite o nome do concurso: ");
        titulo = ler.lerString();
        
        System.out.println("Digite a data::");
        do{
            System.out.println("Digite o dia: ");
            dia = ler.lerInt();
        }while(dia > 31 || dia < 0);
        
        do{
            System.out.println("Digite o mês: ");
            mes = ler.lerInt();
        }while(mes > 12 || mes < 0);
        
        do{
            System.out.println("Digite o ano: ");
            ano = ler.lerInt();
        }while(ano < Calendar.YEAR);
        
        data.set(ano, mes, dia);//Seta a data
        
        Concurso conc = new Concurso(titulo, data, vet);
        
        return conc;
    }
}
